package simulation.initiatives;

import common.SimulationSettings;
import common.StepData;

import gui.Presentation;

public class EnginePush extends AbstractEngine {
  private SimulationSettings settings;
  
  public EnginePush(Presentation presentation, SimulationSettings settings) {
    super(presentation);
    this.settings = settings;
  }
  
  /**
   * Called for each iteration of calculations
   */
  public void onStep(StepData data) {
    presentation.updateCellTemperatures(data.getGrid());
    presentation.moveSunPosition(data.getDegrees());
    presentation.updateTimeDisplay(data.getMilliSecs());
  }
  
  public void adjustDisplayRate(int newRate) {
    
  }
    
  public void start() {
    //use the step method implemented in AbstractEngine in the loop
    //call onStep() after each iteration
  }
  
  public void pause() {
    
  }
  
  public void reset() {
    presentation.reset();
  } 
  
}
